Computer storage devices are essential resources in computer systems, as they store instruction codes, application programs and various types of data. The use of mobile devices, such as mobile phones and personal digital assistance (PDA) devices, and distribution of various types of applications and applications-related data continues to become more prevalent, and, in general, applications, which are continually being developed, require more storage resources. Storage is generally considered to be an expensive computer resource.
The larger the storage capacity of a storage device, the lower is its cost per gigabyte. The term “gigabyte” (“GB”) references a unit of information or a computer storage equal to one billion (109) bytes, where “byte”, which often is a group of eight binary bits, is commonly used as a basic unit of storage measurement in computers, regardless of the type of data being stored. For example, a one-gigabyte storage device is usually more expensive than one gigabyte in a ten-gigabyte storage device.
Sometimes, a host residing, for example in a mobile phone, is required to simultaneously execute several applications, and each application may have a different storage requirement that may dynamically change while the application is executed. For example, an application program that plays multimedia content typically requires storage of several megabytes. Such applications will not be able to run properly on a host device if the available storage in the host device is not as large. Because storage resources are limited, applications requesting access to storage are traditionally allocated storage on a “first-to-request” basis.
From commercial and technical points of view, competition between applications' publishers for storage, for example in a mobile device, is of interest. The term “publisher” references application(s) provider that provides end users with application programs such as media players, and or with digital content such as a multimedia content and or other types of data or information. Instead of competing for storage availability with other publishers, publishers may want to guarantee, in advance, that whenever an end user launches their application, the application will be allocated a sufficiently large storage space regardless of its type and any of its inherent characteristic and, under some circumstances, the allocated storage will be reserved for the application for future usage. Therefore, it would be reasonable to use a single high-capacity storage device and to guarantee to applications running on a host sufficient storage in that storage device. Today, however, usage of storage resources is not prioritized in that respect. U.S. Pat. No. 6,801,992, to Gajjar et al., discloses system and method for policy based storage provisioning and management that allow uniform deployment of storage provisioning policies in a heterogeneous storage environment. US app. No. 2005/0160428, to Ayachitula et al., discloses an application-aware system that provides consistent quality of service for similar types of applications.
Thus, there is a need for an application-dependent storage control system that will implement an application-dependent storage allocation methodology based on storage usage rights. Regarding mobile phones, there is a need for a storage prioritization method for enabling publishers and network operators, such as Mobile Network Operators (MNOs), to agree in advance to which applications storage will be allocated, for example in mobile phones. There is also a need for a method that will enable a network operator to remotely set and enforce a storage allocation usage right(s)on an application running on a host of a mobile device, such as a mobile phone, based on agreed upon usage rights.